package com.hiwhitley.himei.entity;

import java.util.List;

/**
 * Created by hiwhitley on 2016/10/6.
 */

public class GameList {

    private Meta meta;
    private List<Data> data;

    public Meta getMeta() {
        return meta;
    }

    public void setMeta(Meta meta) {
        this.meta = meta;
    }

    public List<Data> getData() {
        return data;
    }

    public void setData(List<Data> data) {
        this.data = data;
    }

    public static class Meta {
        /**
         * total : 614
         * next : {"limit":20,"offset":20}
         */

        private int total;
        private Next next;

        public int getTotal() {
            return total;
        }

        public void setTotal(int total) {
            this.total = total;
        }

        public Next getNext() {
            return next;
        }

        public void setNext(Next next) {
            this.next = next;
        }

        public static class Next {
            /**
             * limit : 20
             * offset : 20
             */

            private int limit;
            private int offset;

            public int getLimit() {
                return limit;
            }

            public void setLimit(int limit) {
                this.limit = limit;
            }

            public int getOffset() {
                return offset;
            }

            public void setOffset(int offset) {
                this.offset = offset;
            }
        }
    }

    public static class Data {
        /**
         * is_pay_for : false
         * name_cn : 痛苦攀岩
         * updated_at : 1487239312
         * feature : 大叔控的福利，异装癖的殿堂，在到达体力极限坠崖之前，请遵从自己的内心，发出最真挚的呐喊！
         * video : [{"url":"http://gameapp.fp.ps.netease.com/file/58a3f556143cfa1069472aaaHIXNVsIq","height":852,"play_count":899,"width":480,"gid":4352,"pre_image":{"url":"http://gameapp.fp.ps.netease.com/file/58a3f556143cfa287f9e54c9ffRmQKDv"},"id":3986,"size":34573659}]
         * is_authorized : true
         * name_en :
         * packs : [{"available":true,"data_url":"","cdn_apk_url":"https://a1.gdl.netease.com/6f2ad9c8f34711e6a0a6525400b35fa1.apk","package_name":"com.yunkun.climb","tags":["no_need_net","advertised"],"cdn_data_url":"","updated_at":1487139882,"ptype":"官方版","warn_msg":"","expansion_patch":null,"has_ad":false,"fingerprint":"770f3ebbe12063990ed68bccf38189c7","version_name":"1.0.0","origin_fingerprint":"","id":8642,"size":25702066,"lang":"中文","adaptive_model_id":-1,"min_sdk":10,"expansion_main":null,"opengl_version":131072,"download_url":"http://s3.nie.netease.com/hxs1-ypw/apk/6f2ad9c8f34711e6a0a6525400b35fa1.apk","priority":1,"version":1,"gid":4352,"need_vpn":false,"expansion_size":0,"data_size":0}]
         * pay_extra : null
         * brief : 艰难的山崖攀岩，见证男人之间的坚厚友情
         * id : 800
         * gid : 4352
         * editor : null
         * publish_time : 1487211900
         * tags : ["休闲"]
         * poster : http://gameapp.fp.ps.netease.com/file/58a50e970699e26d8a2de7ecFyYaAzbG
         * editor_name : hzyinsong
         * posters : [{"raw":{"url":"http://gameapp.fp.ps.netease.com/file/58a50e970699e26d8a2de7ecFyYaAzbG"},"thumb":{"url":"http://gameapp.fp.ps.netease.com/file/58a50e970699e26d8a2de7ecFyYaAzbG"}}]
         * download_count : 22222
         * icon : {"url":"http://gameapp.fp.ps.netease.com/file/58a3f35d143cfa287f9e5365G8Vadchg"}
         * tag_img :
         * rtype : recommend
         * referrer : {"level":8,"collect_num":12,"bind_username":"yswdwy88123@163.com","user_type":1,"total_credits":458,"credits":418,"reputation":721,"download_num":95,"experience_points":1030,"login_type":1,"icon":"https://gameapp.fp.ps.netease.com/file/56513de796dee403a2dc20caXlfQIdkW","nickname":"酱醋茶","id":457,"avatar":"https://gameapp.fp.ps.netease.com/file/56513de796dee403a2dc20caXlfQIdkW"}
         * published : true
         * pay_extend_info :
         */

        private boolean is_pay_for;
        private String name_cn;
        private int updated_at;
        private String feature;
        private boolean is_authorized;
        private String name_en;
        private Object pay_extra;
        private String brief;
        private int id;
        private int gid;
        private Editor editor;
        private int publish_time;
        private String poster;
        private String editor_name;
        private int download_count;
        private Icon icon;
        private String tag_img;
        private String rtype;
        private Referrer referrer;
        private boolean published;
        private String pay_extend_info;
        private List<Video> video;
        private List<Packs> packs;
        private List<String> tags;
        private List<Posters> posters;

        public boolean isIs_pay_for() {
            return is_pay_for;
        }

        public void setIs_pay_for(boolean is_pay_for) {
            this.is_pay_for = is_pay_for;
        }

        public String getName_cn() {
            return name_cn;
        }

        public void setName_cn(String name_cn) {
            this.name_cn = name_cn;
        }

        public int getUpdated_at() {
            return updated_at;
        }

        public void setUpdated_at(int updated_at) {
            this.updated_at = updated_at;
        }

        public String getFeature() {
            return feature;
        }

        public void setFeature(String feature) {
            this.feature = feature;
        }

        public boolean isIs_authorized() {
            return is_authorized;
        }

        public void setIs_authorized(boolean is_authorized) {
            this.is_authorized = is_authorized;
        }

        public String getName_en() {
            return name_en;
        }

        public void setName_en(String name_en) {
            this.name_en = name_en;
        }

        public Object getPay_extra() {
            return pay_extra;
        }

        public void setPay_extra(Object pay_extra) {
            this.pay_extra = pay_extra;
        }

        public String getBrief() {
            return brief;
        }

        public void setBrief(String brief) {
            this.brief = brief;
        }

        public int getId() {
            return id;
        }

        public void setId(int id) {
            this.id = id;
        }

        public int getGid() {
            return gid;
        }

        public void setGid(int gid) {
            this.gid = gid;
        }

        public Editor getEditor() {
            return editor;
        }

        public void setEditor(Editor editor) {
            this.editor = editor;
        }

        public int getPublish_time() {
            return publish_time;
        }

        public void setPublish_time(int publish_time) {
            this.publish_time = publish_time;
        }

        public String getPoster() {
            return poster;
        }

        public void setPoster(String poster) {
            this.poster = poster;
        }

        public String getEditor_name() {
            return editor_name;
        }

        public void setEditor_name(String editor_name) {
            this.editor_name = editor_name;
        }

        public int getDownload_count() {
            return download_count;
        }

        public void setDownload_count(int download_count) {
            this.download_count = download_count;
        }

        public Icon getIcon() {
            return icon;
        }

        public void setIcon(Icon icon) {
            this.icon = icon;
        }

        public String getTag_img() {
            return tag_img;
        }

        public void setTag_img(String tag_img) {
            this.tag_img = tag_img;
        }

        public String getRtype() {
            return rtype;
        }

        public void setRtype(String rtype) {
            this.rtype = rtype;
        }

        public Referrer getReferrer() {
            return referrer;
        }

        public void setReferrer(Referrer referrer) {
            this.referrer = referrer;
        }

        public boolean isPublished() {
            return published;
        }

        public void setPublished(boolean published) {
            this.published = published;
        }

        public String getPay_extend_info() {
            return pay_extend_info;
        }

        public void setPay_extend_info(String pay_extend_info) {
            this.pay_extend_info = pay_extend_info;
        }

        public List<Video> getVideo() {
            return video;
        }

        public void setVideo(List<Video> video) {
            this.video = video;
        }

        public List<Packs> getPacks() {
            return packs;
        }

        public void setPacks(List<Packs> packs) {
            this.packs = packs;
        }

        public List<String> getTags() {
            return tags;
        }

        public void setTags(List<String> tags) {
            this.tags = tags;
        }

        public List<Posters> getPosters() {
            return posters;
        }

        public void setPosters(List<Posters> posters) {
            this.posters = posters;
        }

        public static class Editor{
            private String avatar;
            private String nickname;

            public String getAvatar() {
                return avatar;
            }

            public void setAvatar(String avatar) {
                this.avatar = avatar;
            }

            public String getNickname() {
                return nickname;
            }

            public void setNickname(String nickname) {
                this.nickname = nickname;
            }
        }


        public static class Icon {
            /**
             * url : http://gameapp.fp.ps.netease.com/file/58a3f35d143cfa287f9e5365G8Vadchg
             */

            private String url;

            public String getUrl() {
                return url;
            }

            public void setUrl(String url) {
                this.url = url;
            }
        }

        public static class Referrer {
            /**
             * level : 8
             * collect_num : 12
             * bind_username : yswdwy88123@163.com
             * user_type : 1
             * total_credits : 458
             * credits : 418
             * reputation : 721
             * download_num : 95
             * experience_points : 1030
             * login_type : 1
             * icon : https://gameapp.fp.ps.netease.com/file/56513de796dee403a2dc20caXlfQIdkW
             * nickname : 酱醋茶
             * id : 457
             * avatar : https://gameapp.fp.ps.netease.com/file/56513de796dee403a2dc20caXlfQIdkW
             */

            private int level;
            private int collect_num;
            private String bind_username;
            private int user_type;
            private int total_credits;
            private int credits;
            private int reputation;
            private int download_num;
            private int experience_points;
            private int login_type;
            private String icon;
            private String nickname;
            private int id;
            private String avatar;

            public int getLevel() {
                return level;
            }

            public void setLevel(int level) {
                this.level = level;
            }

            public int getCollect_num() {
                return collect_num;
            }

            public void setCollect_num(int collect_num) {
                this.collect_num = collect_num;
            }

            public String getBind_username() {
                return bind_username;
            }

            public void setBind_username(String bind_username) {
                this.bind_username = bind_username;
            }

            public int getUser_type() {
                return user_type;
            }

            public void setUser_type(int user_type) {
                this.user_type = user_type;
            }

            public int getTotal_credits() {
                return total_credits;
            }

            public void setTotal_credits(int total_credits) {
                this.total_credits = total_credits;
            }

            public int getCredits() {
                return credits;
            }

            public void setCredits(int credits) {
                this.credits = credits;
            }

            public int getReputation() {
                return reputation;
            }

            public void setReputation(int reputation) {
                this.reputation = reputation;
            }

            public int getDownload_num() {
                return download_num;
            }

            public void setDownload_num(int download_num) {
                this.download_num = download_num;
            }

            public int getExperience_points() {
                return experience_points;
            }

            public void setExperience_points(int experience_points) {
                this.experience_points = experience_points;
            }

            public int getLogin_type() {
                return login_type;
            }

            public void setLogin_type(int login_type) {
                this.login_type = login_type;
            }

            public String getIcon() {
                return icon;
            }

            public void setIcon(String icon) {
                this.icon = icon;
            }

            public String getNickname() {
                return nickname;
            }

            public void setNickname(String nickname) {
                this.nickname = nickname;
            }

            public int getId() {
                return id;
            }

            public void setId(int id) {
                this.id = id;
            }

            public String getAvatar() {
                return avatar;
            }

            public void setAvatar(String avatar) {
                this.avatar = avatar;
            }
        }

        public static class Video {
            /**
             * url : http://gameapp.fp.ps.netease.com/file/58a3f556143cfa1069472aaaHIXNVsIq
             * height : 852
             * play_count : 899
             * width : 480
             * gid : 4352
             * pre_image : {"url":"http://gameapp.fp.ps.netease.com/file/58a3f556143cfa287f9e54c9ffRmQKDv"}
             * id : 3986
             * size : 34573659
             */

            private String url;
            private int height;
            private int play_count;
            private int width;
            private int gid;
            private PreImage pre_image;
            private int id;
            private int size;

            public String getUrl() {
                return url;
            }

            public void setUrl(String url) {
                this.url = url;
            }

            public int getHeight() {
                return height;
            }

            public void setHeight(int height) {
                this.height = height;
            }

            public int getPlay_count() {
                return play_count;
            }

            public void setPlay_count(int play_count) {
                this.play_count = play_count;
            }

            public int getWidth() {
                return width;
            }

            public void setWidth(int width) {
                this.width = width;
            }

            public int getGid() {
                return gid;
            }

            public void setGid(int gid) {
                this.gid = gid;
            }

            public PreImage getPre_image() {
                return pre_image;
            }

            public void setPre_image(PreImage pre_image) {
                this.pre_image = pre_image;
            }

            public int getId() {
                return id;
            }

            public void setId(int id) {
                this.id = id;
            }

            public int getSize() {
                return size;
            }

            public void setSize(int size) {
                this.size = size;
            }

            public static class PreImage {
                /**
                 * url : http://gameapp.fp.ps.netease.com/file/58a3f556143cfa287f9e54c9ffRmQKDv
                 */

                private String url;

                public String getUrl() {
                    return url;
                }

                public void setUrl(String url) {
                    this.url = url;
                }
            }
        }

        public static class Packs {
            /**
             * available : true
             * data_url :
             * cdn_apk_url : https://a1.gdl.netease.com/6f2ad9c8f34711e6a0a6525400b35fa1.apk
             * package_name : com.yunkun.climb
             * tags : ["no_need_net","advertised"]
             * cdn_data_url :
             * updated_at : 1487139882
             * ptype : 官方版
             * warn_msg :
             * expansion_patch : null
             * has_ad : false
             * fingerprint : 770f3ebbe12063990ed68bccf38189c7
             * version_name : 1.0.0
             * origin_fingerprint :
             * id : 8642
             * size : 25702066
             * lang : 中文
             * adaptive_model_id : -1
             * min_sdk : 10
             * expansion_main : null
             * opengl_version : 131072
             * download_url : http://s3.nie.netease.com/hxs1-ypw/apk/6f2ad9c8f34711e6a0a6525400b35fa1.apk
             * priority : 1
             * version : 1
             * gid : 4352
             * need_vpn : false
             * expansion_size : 0
             * data_size : 0
             */

            private boolean available;
            private String data_url;
            private String cdn_apk_url;
            private String package_name;
            private String cdn_data_url;
            private int updated_at;
            private String ptype;
            private String warn_msg;
            private Object expansion_patch;
            private boolean has_ad;
            private String fingerprint;
            private String version_name;
            private String origin_fingerprint;
            private int id;
            private int size;
            private String lang;
            private int adaptive_model_id;
            private int min_sdk;
            private Object expansion_main;
            private int opengl_version;
            private String download_url;
            private int priority;
            private int version;
            private int gid;
            private boolean need_vpn;
            private int expansion_size;
            private int data_size;
            private List<String> tags;

            public boolean isAvailable() {
                return available;
            }

            public void setAvailable(boolean available) {
                this.available = available;
            }

            public String getData_url() {
                return data_url;
            }

            public void setData_url(String data_url) {
                this.data_url = data_url;
            }

            public String getCdn_apk_url() {
                return cdn_apk_url;
            }

            public void setCdn_apk_url(String cdn_apk_url) {
                this.cdn_apk_url = cdn_apk_url;
            }

            public String getPackage_name() {
                return package_name;
            }

            public void setPackage_name(String package_name) {
                this.package_name = package_name;
            }

            public String getCdn_data_url() {
                return cdn_data_url;
            }

            public void setCdn_data_url(String cdn_data_url) {
                this.cdn_data_url = cdn_data_url;
            }

            public int getUpdated_at() {
                return updated_at;
            }

            public void setUpdated_at(int updated_at) {
                this.updated_at = updated_at;
            }

            public String getPtype() {
                return ptype;
            }

            public void setPtype(String ptype) {
                this.ptype = ptype;
            }

            public String getWarn_msg() {
                return warn_msg;
            }

            public void setWarn_msg(String warn_msg) {
                this.warn_msg = warn_msg;
            }

            public Object getExpansion_patch() {
                return expansion_patch;
            }

            public void setExpansion_patch(Object expansion_patch) {
                this.expansion_patch = expansion_patch;
            }

            public boolean isHas_ad() {
                return has_ad;
            }

            public void setHas_ad(boolean has_ad) {
                this.has_ad = has_ad;
            }

            public String getFingerprint() {
                return fingerprint;
            }

            public void setFingerprint(String fingerprint) {
                this.fingerprint = fingerprint;
            }

            public String getVersion_name() {
                return version_name;
            }

            public void setVersion_name(String version_name) {
                this.version_name = version_name;
            }

            public String getOrigin_fingerprint() {
                return origin_fingerprint;
            }

            public void setOrigin_fingerprint(String origin_fingerprint) {
                this.origin_fingerprint = origin_fingerprint;
            }

            public int getId() {
                return id;
            }

            public void setId(int id) {
                this.id = id;
            }

            public int getSize() {
                return size;
            }

            public void setSize(int size) {
                this.size = size;
            }

            public String getLang() {
                return lang;
            }

            public void setLang(String lang) {
                this.lang = lang;
            }

            public int getAdaptive_model_id() {
                return adaptive_model_id;
            }

            public void setAdaptive_model_id(int adaptive_model_id) {
                this.adaptive_model_id = adaptive_model_id;
            }

            public int getMin_sdk() {
                return min_sdk;
            }

            public void setMin_sdk(int min_sdk) {
                this.min_sdk = min_sdk;
            }

            public Object getExpansion_main() {
                return expansion_main;
            }

            public void setExpansion_main(Object expansion_main) {
                this.expansion_main = expansion_main;
            }

            public int getOpengl_version() {
                return opengl_version;
            }

            public void setOpengl_version(int opengl_version) {
                this.opengl_version = opengl_version;
            }

            public String getDownload_url() {
                return download_url;
            }

            public void setDownload_url(String download_url) {
                this.download_url = download_url;
            }

            public int getPriority() {
                return priority;
            }

            public void setPriority(int priority) {
                this.priority = priority;
            }

            public int getVersion() {
                return version;
            }

            public void setVersion(int version) {
                this.version = version;
            }

            public int getGid() {
                return gid;
            }

            public void setGid(int gid) {
                this.gid = gid;
            }

            public boolean isNeed_vpn() {
                return need_vpn;
            }

            public void setNeed_vpn(boolean need_vpn) {
                this.need_vpn = need_vpn;
            }

            public int getExpansion_size() {
                return expansion_size;
            }

            public void setExpansion_size(int expansion_size) {
                this.expansion_size = expansion_size;
            }

            public int getData_size() {
                return data_size;
            }

            public void setData_size(int data_size) {
                this.data_size = data_size;
            }

            public List<String> getTags() {
                return tags;
            }

            public void setTags(List<String> tags) {
                this.tags = tags;
            }
        }

        public static class Posters {
            /**
             * raw : {"url":"http://gameapp.fp.ps.netease.com/file/58a50e970699e26d8a2de7ecFyYaAzbG"}
             * thumb : {"url":"http://gameapp.fp.ps.netease.com/file/58a50e970699e26d8a2de7ecFyYaAzbG"}
             */

            private Raw raw;
            private Thumb thumb;

            public Raw getRaw() {
                return raw;
            }

            public void setRaw(Raw raw) {
                this.raw = raw;
            }

            public Thumb getThumb() {
                return thumb;
            }

            public void setThumb(Thumb thumb) {
                this.thumb = thumb;
            }

            public static class Raw {
                /**
                 * url : http://gameapp.fp.ps.netease.com/file/58a50e970699e26d8a2de7ecFyYaAzbG
                 */

                private String url;

                public String getUrl() {
                    return url;
                }

                public void setUrl(String url) {
                    this.url = url;
                }
            }

            public static class Thumb {
                /**
                 * url : http://gameapp.fp.ps.netease.com/file/58a50e970699e26d8a2de7ecFyYaAzbG
                 */

                private String url;

                public String getUrl() {
                    return url;
                }

                public void setUrl(String url) {
                    this.url = url;
                }
            }
        }
    }
}
